package models

import (
	"gorm.io/gorm"
	"time"
)

// 商铺表
type Shop struct {
	Id          uint32         `gorm:"column:id;type:int UNSIGNED;comment:店铺Id;primaryKey;not null;" json:"id"`                                    // 店铺Id
	ShopName    string         `gorm:"column:shop_name;type:varchar(30);comment:商店名称;not null;" json:"shop_name"`                                // 商店名称
	ShopDesc    string         `gorm:"column:shop_desc;type:varchar(200);comment:商店描述;not null;" json:"shop_desc"`                               // 商店描述
	ShopLogo    string         `gorm:"column:shop_logo;type:varchar(255);comment:商店logo;not null;" json:"shop_logo"`                               // 商店logo
	ShopPhone   string         `gorm:"column:shop_phone;type:char(11);comment:商店电话;not null;" json:"shop_phone"`                                 // 商店电话
	ShopAddress string         `gorm:"column:shop_address;type:varchar(200);comment:商店地址;not null;" json:"shop_address"`                         // 商店地址
	ShopStatus  int32          `gorm:"column:shop_status;type:int;comment:店铺状态: 1正常 2禁用;not null;" json:"shop_status"`                       // 店铺状态: 1正常 2禁用
	CreatedAt   time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdatedAt   time.Time      `gorm:"column:updated_at;type:datetime(3);comment:修改时间;not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"` // 修改时间
	DeletedAt   gorm.DeletedAt `gorm:"column:deleted_at;type:varchar(3);comment:删除时间;default:NULL;" json:"deleted_at"`                           // 删除时间
}

func (s *Shop) TableName() string {
	return "shop"
}
